// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
thread 'PRO_1'

const
  _A = 7@
  _S = 8@
  _D = 9@
end



WHILE TRUE
    WAIT 0
    REPEAT
    wait 0 
    UNTIL IF Player.Defined(0)
    IF 0AF0: 4@ = get_int_from_ini_file "CLEO\POZIT.INI" section "COP_RADIUS" key "SET"
    JF CONTINUE
    IF 4@ == 1
    THEN 0AB1: @FUNC_10 0
    ELSE
        IF 4@ == 2
        THEN 0AB1: @FUNC_20 0
        ELSE
            IF 4@ == 3
            THEN 0AB1: @FUNC_30 0
            ELSE
                IF 4@ == 4
                THEN 
                     if 25@ == false
                     then 25@ = true
                         0ab1: @wcall_hhook 0 //com wr
                     end    
                     0AB1: @FUNC_40 0
                END
            END
        END
    END
END  
 

    
:FUNC_10    
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)                                                                             
0AE1: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 1000.0 find_next 1 pass_deads 0 //IF and SET                    
if not 3@ == -1                                                                                                       
THEN                                                                                                           
    089F: get_actor 3@ pedtype_to 6@                                                                                      
    if 04A4:   6@ == 6 // == constant                                                                                     
    THEN                                                                                               
        if 0105:   actor $PLAYER_ACTOR near_actor 3@ radius 30.0 30.0 30.0 sphere 0 on_foot                                   
        THEN                                                                                                                  
            05DD: AS_actor 3@ flee_from_actor $PLAYER_ACTOR from_origin_radius 100.0 timelimit 10000                          
        END
    END
END
0AB2: 0

:FUNC_20   
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)                                                                             
0AE1: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 1000.0 find_next 1 pass_deads 0 //IF and SET                    
if not 3@ == -1                                                                                                       
THEN                                                                                                           
    089F: get_actor 3@ pedtype_to 6@                                                                                      
    if 04A4:   6@ == 6 // == constant                                                                                     
    THEN                                                                                               
        if 0105:   actor $PLAYER_ACTOR near_actor 3@ radius 30.0 30.0 30.0 sphere 0 on_foot                                   
        THEN                                                                                                                  
            0326: 13@ = create_actor 3@ fire                       
        END
    END
END
0AB2: 0                     

:FUNC_30    
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)                                                                             
0AE1: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 1000.0 find_next 1 pass_deads 0 //IF and SET                    
if not 3@ == -1                                                                                                       
THEN                                                                                                           
    089F: get_actor 3@ pedtype_to 6@                                                                                      
    if 04A4:   6@ == 6 // == constant                                                                                     
    THEN                                                                                               
        if 0105:   actor $PLAYER_ACTOR near_actor 3@ radius 30.0 30.0 30.0 sphere 0 on_foot                                   
        THEN                                                                                                                  
             048F: actor 3@ remove_weapons                           
        END
    END
END
0AB2: 0                     

:FUNC_40
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0                                                                                          
IF 0AE2: 10@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 0 //IF and SET                                                                 
THEN                                                                                                                                                                     
    if not 10@ == -1                                                                                                                                                     
    then                                                                                                                                                                 
        if not car.Wrecked(10@)                                                                                                                                          
        then                                                                                                                                                             
             11@ = CAR.Model(10@)                                                                                                                                        
             IF OR                                                                                                                                                       
                11@ == #FBIRANCH                                                                                                                                         
                11@ == #COPBIKE                                                                                                                                          
                11@ == #COPCARLA                                                                                                                                         
                11@ == #COPCARRU                                                                                                                                         
                11@ == #COPCARVG
                11@ == #COPCARSF
                11@ == #ENFORCER                                                                                                                                         
             THEN //FUNC CHANGE CAR COLOR TO PINK                                                                                                                                                       
                 03F3: get_car 10@ primary_color_to 3@ secondary_color_to 4@                                                                                             
                 IF NOT 3@ == 126                                                                                                                                        
                 THEN 0229: set_car 10@ primary_color_to 126 secondary_color_to 1                                                                                        
                 ELSE                                                                                                                                                    
                     IF NOT 4@ == 1                                                                                                                                      
                     THEN 0229: set_car 10@ primary_color_to 126 secondary_color_to 1                                                                                    
                     END                                                                                                                                                 
                 END                                                                                                                                                     
             END                                                                                                                                                         
        END                                                                                                                                                              
    END                                                                                                                                                                  
end                                                                                                                                                                      
if 0AE1: 5@ = random_actor_near_point 0@ 1@ 2@ in_radius 500.0 find_next 1 pass_deads 0 //IF and SET                                                                          
THEN                                                                                                                                                                          
    IF NOT 5@ == -1                                                                                                                                                           
    THEN                                                                                                                                                                  
        IF 056D:   actor 5@ defined                                                                                                                                              
        THEN                                                                                                                                               
            IF NOT ACTOR.Dead(5@)                                                                                                                                                    
            THEN
                089F: get_actor 5@ pedtype_to 6@
                IF 6@ == 6 
                THEN
                {                                                                                                                              
                0665: get_actor 5@ model_to 6@                                                                                                                           
                if and                                                                                                                                                                       
                6@ >= #lapd1                                                                                                                                             
                #csher >= 6@                                                                                                                                             
                then                                                                                                                                                     
                    if not Actor.HasWeapon(5@, 10)                                                                                                                       
                    then Actor.GiveWeaponAndAmmo(5@, 10, 0)                                                                                                              
                    end                                                                                                                                                  
                else                                                                                                                                                     
                    if 6@ == #lapdm1                                                                                                                                     
                    then                                                                                                                                                 
                        if not Actor.HasWeapon(5@, 11)                                                                                                                   
                        then Actor.GiveWeaponAndAmmo(5@, 11, 0)                                                                                                          
                        end                                                                                                                                              
                    else                                                                                                                                                 
                        if 6@ == #fbi                                                                                                                                    
                        then                                                                                                                                             
                            if not Actor.HasWeapon(5@, 12)                                                                                                               
                            then Actor.GiveWeaponAndAmmo(5@, 12, 0)                                                                                                      
                            end                                                                                                                                          
                        else                                                                                                                                             
                            if 6@ == #army                                                                                                                               
                            then                                                                                                                                         
                                if not Actor.HasWeapon(5@, 13)                                                                                                           
                                then Actor.GiveWeaponAndAmmo(5@, 13, 0)                                                                                                  
                                end                                                                                                                                      
                            else                                                                                                                                         
                                if 6@ == #swat                                                                                                                           
                                then                                                                                                                                     
                                    if not Actor.HasWeapon(5@, 11)                                                                                                       
                                    then Actor.GiveWeaponAndAmmo(5@, 11, 0)                                                                                              
                                    end                                                                                                                                  
                                end                                                                                                                                      
                            end                                                                                                                                          
                        end                                                                                                                                              
                    end
                    }                                                                                                                                                  
                end
            END
        END
    END
END
0AB2: 0                                                                                                                                        
            
//source by jack

:wcall_hhook
//0ACD: "FHGJ" 100 
1@ = #BFYPRO 
2@ = #WFYPRO 
3@ = #SHFYPRO
4@ = #VHFYPRO
5@ = #SBFYPRO
6@ = #VBFYPRO
7@ = #WFYSEX 
8@ = #WFYSEX

while true
    wait 0
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 1@ 9@       //    ; CModelInfo::IsVehicleModelType                         
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 2@ 10@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 3@ 11@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 4@ 12@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 5@ 13@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 6@ 14@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 7@ 15@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 8@ 16@       //    ; CModelInfo::IsVehicleModelType                        
    IF and                                                                                                                     
       9@  == -1                                                                                                               
       10@ == -1                                                                                                               
       11@ == -1                                                                                                               
       12@ == -1                                                                                                               
       13@ == -1                                                                                                               
       14@ == -1                                                                                                               
       15@ == -1                                                                                                               
       16@ == -1                                                                                                               
    THEN                                                                                                                       
        IF AND                                                                                                                 
           0488:   model 1@ exists                                                                                             
           0488:   model 2@ exists                                                                                             
           0488:   model 3@ exists                                                                                             
           0488:   model 4@ exists                                                                                             
           0488:   model 5@ exists                                                                                             
           0488:   model 6@ exists                                                                                             
           0488:   model 7@ exists                                                                                             
           0488:   model 8@ exists                                                                                             
        then                                                                                                                   
            IF AND                                                                                                             
                0248:   model 1@ available                                                                                     
                0248:   model 2@ available                                                                                     
                0248:   model 3@ available                                                                                     
                0248:   model 4@ available                                                                                     
                0248:   model 5@ available                                                                                     
                0248:   model 6@ available                                                                                     
                0248:   model 7@ available                                                                                     
                0248:   model 8@ available                                                                                     
            THEN
                goto @write_hack                                                                                                               
            else                                                                                                               
                0247: load_model 1@                                                                                            
                0247: load_model 2@                                                                                            
                0247: load_model 3@                                                                                            
                0247: load_model 4@                                                                                            
                0247: load_model 5@                                                                                            
                0247: load_model 6@                                                                                            
                0247: load_model 7@                                                                                            
                0247: load_model 8@                                                                                            
            end                                                                                                                
        end                                                                                                                    
    else 0ab2: 0 
    end
end
//#FBI //286                                                                                                                       
    
:write_hack
//write
0A8C: write_memory {#define csher}  0x8A5AA0  size 4 value 1@ virtual_protect 0            
0A8C: write_memory {#define lapd1}  0x8A5AA4  size 4 value 2@ virtual_protect 0            
0A8C: write_memory {#define sfpd1}  0x8A5AA8  size 4 value 3@ virtual_protect 0            
0A8C: write_memory {#define lvpd1}  0x8A5AAc   size 4 value 4@ virtual_protect 0            
//bike cop
0A8C: write_memory 0x5DDD86 size 4 value 5@ virtual_protect 0
0A8D: 7@ = read_memory 0x407C6C size 4 virtual_protect 0    
0A8C: write_memory 7@ size 4 value 5@ virtual_protect 0

//0A8C: write_memory 0x461339 size 4 value 6@ virtual_protect 0  //SWAT
//0A8C: write_memory 0x461353 size 4 value 7@ virtual_protect 0 //CRASH                                  
//0A8C: write_memory 0x46136D size 4 value 8@ virtual_protect 0
                                   
//0A8C: write_memory 0x5DDD90 size 4 value 6@  virtual_protect 0 //SWAT                                  
//0A8C: write_memory 0x5DDDD0 size 4 value 7@ virtual_protect 0 //CRASH                                  
//0A8C: write_memory 0x5DDE10 size 4 value 8@ virtual_protect 0

//ROAD BLOCK BITH
0A8C: write_memory 0x5DDDD0 size 4 value 7@ virtual_protect 0   //  ; 0x11E  
0A8C: write_memory 0x461353 size 4 value 7@ virtual_protect 0   //  ; 0x11E 
0A8C: write_memory 0x40B784 size 4 value 7@ virtual_protect 0  //   ; FBI 
0A8C: write_memory 0x40B7A9 size 4 value 7@ virtual_protect 0
0ab2: 0 

:wcall_rhook 
1@ = 0x11B 
2@ = 0x118 
3@ = 0x119
4@ = 0x11A
5@ = 0x11c
6@ = 0x11D
7@ = 0x11E
8@ = 0x11F

while true
    wait 0
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 1@ 9@       //    ; CModelInfo::IsVehicleModelType                         
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 2@ 10@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 3@ 11@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 4@ 12@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 5@ 13@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 6@ 14@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 7@ 15@       //    ; CModelInfo::IsVehicleModelType                        
    0AA7: call_function 0x4C5C80 num_params 1 pop 1 8@ 16@       //    ; CModelInfo::IsVehicleModelType                        
    IF and                                                                                                                     
       9@  == -1                                                                                                               
       10@ == -1                                                                                                               
       11@ == -1                                                                                                               
       12@ == -1                                                                                                               
       13@ == -1                                                                                                               
       14@ == -1                                                                                                               
       15@ == -1                                                                                                               
       16@ == -1                                                                                                               
    THEN                                                                                                                       
        IF AND                                                                                                                 
           0488:   model 1@ exists                                                                                             
           0488:   model 2@ exists                                                                                             
           0488:   model 3@ exists                                                                                             
           0488:   model 4@ exists                                                                                             
           0488:   model 5@ exists                                                                                             
           0488:   model 6@ exists                                                                                             
           0488:   model 7@ exists                                                                                             
           0488:   model 8@ exists                                                                                             
        then                                                                                                                   
            IF AND                                                                                                             
                0248:   model 1@ available                                                                                     
                0248:   model 2@ available                                                                                     
                0248:   model 3@ available                                                                                     
                0248:   model 4@ available                                                                                     
                0248:   model 5@ available                                                                                     
                0248:   model 6@ available                                                                                     
                0248:   model 7@ available                                                                                     
                0248:   model 8@ available                                                                                     
            THEN
                goto @res_hack                                                                                                               
            else                                                                                                               
                0247: load_model 1@                                                                                            
                0247: load_model 2@                                                                                            
                0247: load_model 3@                                                                                            
                0247: load_model 4@                                                                                            
                0247: load_model 5@                                                                                            
                0247: load_model 6@                                                                                            
                0247: load_model 7@                                                                                            
                0247: load_model 8@                                                                                            
            end                                                                                                                
        end                                                                                                                    
    end
end                                                                                                                        
    
:res_hack
//res city cops
0A8D: 7@ = read_memory 0x407C97 size 4 virtual_protect 0
0A8C: write_memory 7@ size 4 value 1@ virtual_protect 0                             
7@ += 4                                                                                
0A8C: write_memory 7@ size 4 value 2@ virtual_protect 0                             
7@ += 4                                                                                
0A8C: write_memory 7@ size 4 value 3@ virtual_protect 0                             
7@ += 4                                                                                
0A8C: write_memory 7@ size 4 value 4@ virtual_protect 0                             

//bike cop
0A8C: write_memory 0x5DDD86 size 4 value 5@ virtual_protect 0
0A8D: 7@ = read_memory 0x407C6C size 4 virtual_protect 0    
0A8C: write_memory 7@ size 4 value 5@ virtual_protect 0
//swat //fbi //army                    
0A8C: write_memory 0x461339 size 4 value 6@ virtual_protect 0  
0A8C: write_memory 0x461353 size 4 value 7@ virtual_protect 0  
0A8C: write_memory 0x46136D size 4 value 8@ virtual_protect 0                                      

0A8C: write_memory 0x5DDD90 size 4 value 6@ virtual_protect 0  
0A8C: write_memory 0x5DDDD0 size 4 value 7@ virtual_protect 0  
0A8C: write_memory 0x5DDE10 size 4 value 8@ virtual_protect 0 
0ab2: 0 

END_THREAD                